package at.fhj.itm10.ticketmaster.dao;

/**
 * Interface for AddressDAOs
 * 
 * @author Puchmueller Marvin
 */

import java.util.List;

import at.fhj.itm10.ticketmaster.entities.Address;

public interface AddressDAOInterface {

	/**
	 * Insert Address.
	 * 
	 * @param entity
	 * @throws DAOException
	 */
	public abstract void insert(Address entity) throws DAOException;

	/**
	 * Update Address.
	 * 
	 * @param entity
	 * @throws DAOException
	 */
	public abstract void update(Address entity) throws DAOException;

	/**
	 * Delete Address.
	 * 
	 * @param entity
	 * @throws DAOException
	 */
	public abstract void delete(Address entity) throws DAOException;

	/**
	 * Find one by id.
	 * 
	 * @param id
	 * @return Address
	 * @throws DAOException
	 */
	public abstract Address findById(long id) throws DAOException;

	/**
	 * Find one by city.
	 * 
	 * @param city
	 * @return List<Address>
	 * @throws DAOException
	 */
	public abstract List<Address> findByCity(String city) throws DAOException;

	/**
	 * Find all.
	 * 
	 * @return List<Address>
	 * @throws DAOException
	 */
	public abstract List<Address> findAll() throws DAOException;

}